package com.ctshk.rpc.bus.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 巴士产品加幅策略req
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-09
 */
@Data
@ApiModel(value="BusProductStrategyReq对象", description="巴士产品加幅策略req")
public class BusProductStrategyReq implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @NotNull(message = "加幅策略名称不能为空")
    @ApiModelProperty(value = "加幅策略名称")
    private String increaseStrategyName;

    @NotNull(message = "巴士产品ID不能为空")
    @ApiModelProperty(value = "巴士产品id")
    private Long busProductId;

    @ApiModelProperty(value = "自营权限规则id")
    private Long selfSalePermissionId;

    @NotNull(message = "自营权限类型不能为空")
    @ApiModelProperty(value = "自营权限类型")
    private Integer selfSalePermissionType;

    @ApiModelProperty(value = "代理商权限规则id")
    private Long agentSalePermissionId;

    @NotNull(message = "代理商权限类型不能为空")
    @ApiModelProperty(value = "代理商权限类型")
    private Integer agentSalePermissionType;

    @ApiModelProperty(value = "加幅规则自营")
    private BusProductIncreaseStrategyRuleReq busProductIncreaseStrategySelfRule;

    @ApiModelProperty(value = "加幅规则代理")
    private BusProductIncreaseStrategyRuleReq busProductIncreaseStrategyAgentRule;

    @ApiModelProperty(value = "巴士产品加幅策略有效期集合")
    private List<BusProductStrategyDateReq> busProductStrategyDateReqList;

    @ApiModelProperty(value = "线下代理商自定义用户部门设置集合")
    private List<BusProductChannelOfflineAgentCustomReq> busProductChannelOfflineAgentCustomReqList;

    @ApiModelProperty(value = "线下自营自定义用户部门集合")
    private List<BusProductChannelOfflineSelfCustomReq> busProductChannelOfflineSelfCustomReqList;

    @ApiModelProperty(value = "线上渠道自定义权限集合")
    private List<BusProductChannelOnlineSelfPlatformReq> busProductChannelOnlineSelfPlatformReqList;

    @ApiModelProperty(value = "线上渠道第三方平台集合")
    private List<BusProductChannelOnlineThirdPlatformReq> busProductChannelOnlineThirdPlatformReqList;

}
